home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Kellogg's Amérique
/
Kellogg's Amérique
/
speed.swf
/
scripts
/
amerique
/
Speed.as
Wrap
Text File
|
2020-08-04
|
15KB
|
437 lines
package amerique
{
import flash.display.DisplayObject;
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.events.TimerEvent;
import flash.media.SoundMixer;
import flash.text.TextField;
import flash.utils.Timer;
import flash.utils.getQualifiedClassName;
import jeux.Jeu;
public class Speed extends Jeu
{
public var page_accueil:MovieClip;
const DUREE_PARTIE:Number = 60;
public var titre:MovieClip;
private var tempPlan:Number;
private var animaux:Array;
public var chargement:MovieClip;
private var gagne:Boolean;
private var quit:Boolean = false;
public var bug:TextField;
private var choix:Array;
public var page_lesavaistu:MovieClip;
private var selection:Array;
private var page:Number = 1;
public var message_mc:MovieClip;
public var page_resultat:MovieClip;
public var page_course:MovieClip;
const COEF_SCORE:Number = 1;
public var page_jeu:MovieClip;
public function Speed()
{
quit = false;
page = 1;
animaux = new Array({
"nom":"ours noir",
"vitesse":50,
"numero":1
},{
"nom":"lynx",
"vitesse":70,
"numero":2
},{
"nom":"marmotte",
"vitesse":15,
"numero":3
},{
"nom":"tatou",
"vitesse":0.3,
"numero":4
},{
"nom":"puma",
"vitesse":52,
"numero":5
},{
"nom":"�cureuil gris",
"vitesse":24,
"numero":6
},{
"nom":"ca�man",
"vitesse":20,
"numero":7
},{
"nom":"condor des andes",
"vitesse":100,
"numero":8
},{
"nom":"lamantin",
"vitesse":27,
"numero":9
});
super();
pages = [chargement,page_accueil,page_lesavaistu,page_jeu,page_resultat];
hide_all_but(page_lesavaistu);
page_accueil.btn_lesavaistu.addEventListener(MouseEvent.CLICK,clic_bouton);
page_accueil.btn_jouer.addEventListener(MouseEvent.CLICK,clic_bouton);
page_lesavaistu.btn_accueil.addEventListener(MouseEvent.CLICK,clic_bouton);
page_lesavaistu.btn_jouer.addEventListener(MouseEvent.CLICK,clic_bouton);
page_resultat.btn_jouer.addEventListener(MouseEvent.CLICK,clic_bouton);
page_lesavaistu.infos_animaux.stop();
page_lesavaistu.infos_animaux.btRetour.addEventListener(MouseEvent.CLICK,bouton_retour);
page_lesavaistu.infos_animaux.btRetour.buttonMode = true;
page_lesavaistu.infos_animaux.btSuite.addEventListener(MouseEvent.CLICK,bouton_suite);
page_lesavaistu.infos_animaux.btSuite.buttonMode = true;
page_lesavaistu.infos_animaux.btRetour.visible = false;
message_mc.visible = false;
message_mc.addEventListener(MouseEvent.CLICK,effacer_message);
page_jeu.btValider.addEventListener(MouseEvent.CLICK,valider_choix);
page_jeu.chrono.visible = false;
page_course.visible = false;
}
private function deposer_objet(param1:MouseEvent) : void
{
var _loc2_:Number = NaN;
var _loc3_:Number = NaN;
_loc2_ = param1.currentTarget.name.substr(param1.currentTarget.name.indexOf("_") + 1,param1.currentTarget.name.length - param1.currentTarget.name.indexOf("_") + 1);
param1.currentTarget.stopDrag();
param1.currentTarget.parent.setChildIndex(param1.currentTarget,tempPlan);
_loc3_ = Number(trouver_choix(param1.currentTarget));
if(trouver_choix(param1.currentTarget) > 0)
{
switch(trouver_choix(param1.currentTarget))
{
case 1:
page_jeu["photo_" + _loc2_].x = 413.6;
page_jeu["photo_" + _loc2_].y = 329.6;
break;
case 2:
page_jeu["photo_" + _loc2_].x = 201.7;
page_jeu["photo_" + _loc2_].y = 478.6;
break;
case 3:
page_jeu["photo_" + _loc2_].x = 648.6;
page_jeu["photo_" + _loc2_].y = 522.5;
}
this.page_jeu["boite_" + trouver_choix(param1.currentTarget)].visible = false;
choix[_loc3_ - 1] = _loc2_;
}
else
{
switch(_loc2_)
{
case 1:
page_jeu["photo_" + _loc2_].x = 52.7;
page_jeu["photo_" + _loc2_].y = 173.3;
break;
case 2:
page_jeu["photo_" + _loc2_].x = 280.7;
page_jeu["photo_" + _loc2_].y = 221;
break;
case 3:
page_jeu["photo_" + _loc2_].x = 104.7;
page_jeu["photo_" + _loc2_].y = 345.8;
}
param1.currentTarget.scaleX = 1;
param1.currentTarget.scaleY = 1;
}
}
private function calculer_score(param1:TimerEvent = null) : *
{
if(!quit)
{
if(animaux[selection[choix[0] - 1].numero - 1].vitesse >= animaux[selection[choix[1] - 1].numero - 1].vitesse)
{
page_course.score.score += 4;
}
if(animaux[selection[choix[1] - 1].numero - 1].vitesse >= animaux[selection[choix[2] - 1].numero - 1].vitesse)
{
page_course.score.score += 4;
}
if(animaux[selection[choix[0] - 1].numero - 1].vitesse >= animaux[selection[choix[2] - 1].numero - 1].vitesse)
{
page_course.score.score += 4;
}
}
}
private function valider_choix(param1:MouseEvent = null) : void
{
var _loc2_:Number = NaN;
var _loc3_:Timer = null;
if(choix[0] != 0 && choix[1] != 0 && choix[2] != 0)
{
trace("valider_choix : " + choix);
page_jeu.chrono.arreter();
page_jeu.chrono.visible = false;
page_jeu.visible = false;
_loc2_ = 0;
while(_loc2_ < 3)
{
page_course["animaux_" + (_loc2_ + 1)].gotoAndStop("animal" + animaux[selection[choix[_loc2_] - 1].numero - 1].numero);
_loc2_++;
}
page_course.visible = true;
_loc3_ = new Timer(500,1);
_loc3_.addEventListener("timer",lancer_course);
_loc3_.start();
}
else
{
message_mc.visible = true;
}
}
private function bouton_retour(param1:MouseEvent) : void
{
page_lesavaistu.infos_animaux.btSuite.visible = true;
--page;
if(page <= 1)
{
page = 1;
page_lesavaistu.infos_animaux.btRetour.visible = false;
}
page_lesavaistu.infos_animaux.gotoAndStop("animal" + page);
}
private function lancer_course(param1:TimerEvent = null) : void
{
var _loc2_:Number = NaN;
if(!quit)
{
trace("lancer_course");
_loc2_ = 1;
while(_loc2_ <= 3)
{
page_course["animaux_" + _loc2_].animal.gotoAndPlay(1);
_loc2_++;
}
addEventListener(Event.ENTER_FRAME,verifier_gagne);
}
}
private function selectionner_animaux() : void
{
var _loc1_:Number = NaN;
var _loc2_:Number = NaN;
selection = new Array();
do
{
_loc1_ = Math.floor(Math.random() * animaux.length);
if(selection.indexOf(animaux[_loc1_]) == -1)
{
selection.push(animaux[_loc1_]);
}
}
while(selection.length < 3);
_loc2_ = 0;
while(_loc2_ < 3)
{
trace(selection[_loc2_].nom + ", " + selection[_loc2_].numero);
page_jeu["photo_" + (_loc2_ + 1)].gotoAndStop(selection[_loc2_].numero);
_loc2_++;
}
}
private function bouton_suite(param1:MouseEvent) : void
{
page_lesavaistu.infos_animaux.btRetour.visible = true;
++page;
if(page >= 9)
{
page = 9;
page_lesavaistu.infos_animaux.btSuite.visible = false;
}
page_lesavaistu.infos_animaux.gotoAndStop("animal" + page);
}
override public function toString() : String
{
return "Jeu " + getQualifiedClassName(this);
}
override public function quitter() : *
{
quit = true;
}
private function effacer_message(param1:MouseEvent) : void
{
param1.currentTarget.visible = false;
}
override public function jouer() : *
{
var _loc1_:Number = NaN;
quit = false;
hide_all_but(page_jeu);
page_course.visible = false;
page_jeu["photo_1"].x = 52.7;
page_jeu["photo_1"].y = 173.3;
page_jeu["photo_2"].x = 280.7;
page_jeu["photo_2"].y = 221;
page_jeu["photo_3"].x = 104.7;
page_jeu["photo_3"].y = 345.8;
_loc1_ = 1;
while(_loc1_ <= 3)
{
page_jeu["photo_" + _loc1_].scaleX = 1;
page_jeu["photo_" + _loc1_].scaleY = 1;
page_jeu["photo_" + _loc1_].visible = true;
this.page_jeu["boite_" + _loc1_].visible = true;
_loc1_++;
}
selectionner_animaux();
page_jeu.chrono.visible = false;
page_course.score.score = 0;
page_jeu.score.visible = false;
gagne = false;
choix = new Array(0,0,0);
_loc1_ = 1;
while(_loc1_ <= 3)
{
page_jeu["photo_" + _loc1_].addEventListener(MouseEvent.MOUSE_DOWN,prendre_objet);
page_jeu["photo_" + _loc1_].addEventListener(MouseEvent.MOUSE_UP,deposer_objet);
page_course["animaux_" + _loc1_].gotoAndStop("animal1");
_loc1_++;
}
}
private function prendre_objet(param1:MouseEvent) : void
{
var _loc2_:Number = NaN;
var _loc3_:Number = NaN;
param1.currentTarget.startDrag();
tempPlan = param1.currentTarget.parent.getChildIndex(param1.currentTarget);
param1.currentTarget.parent.setChildIndex(param1.currentTarget,param1.currentTarget.parent.numChildren - 1);
_loc2_ = param1.currentTarget.name.substr(param1.currentTarget.name.indexOf("_") + 1,param1.currentTarget.name.length - param1.currentTarget.name.indexOf("_") + 1);
_loc3_ = 0;
while(_loc3_ < 3)
{
trace(choix[_loc3_] + " ?= " + _loc2_ + " => " + (choix[_loc3_] == _loc2_));
if(choix[_loc3_] == _loc2_)
{
this.page_jeu["boite_" + (_loc3_ + 1)].visible = true;
}
_loc3_++;
}
}
private function verifier_gagne(param1:Event) : *
{
var _loc2_:Number = NaN;
var _loc3_:Timer = null;
if(!quit)
{
_loc2_ = 1;
while(_loc2_ <= 3)
{
if(page_course["animaux_" + _loc2_].animal.currentFrame != page_course["animaux_" + _loc2_].animal.totalFrames)
{
return;
}
_loc2_++;
}
calculer_score();
removeEventListener(Event.ENTER_FRAME,verifier_gagne);
_loc3_ = new Timer(1500,1);
_loc3_.addEventListener("timer",finjeu);
_loc3_.start();
}
else
{
removeEventListener(Event.ENTER_FRAME,verifier_gagne);
}
}
private function trouver_choix(param1:Object) : Number
{
var _loc2_:Number = NaN;
_loc2_ = 1;
while(_loc2_ <= 3)
{
if(this.page_jeu["boite_" + _loc2_].visible)
{
if(param1.hitTestObject(DisplayObject(this.page_jeu["boite_" + _loc2_])))
{
return _loc2_;
}
}
_loc2_++;
}
return 0;
}
public function finjeu(param1:TimerEvent = null) : void
{
var _loc2_:Number = NaN;
if(!quit)
{
page_course.visible = false;
SoundMixer.stopAll();
hide_all_but(page_resultat);
_loc2_ = page_course.score.score;
page_resultat.bulle_gagne.visible = false;
page_resultat.bulle_gagne1.visible = false;
page_resultat.bulle_perdu.visible = false;
if(_loc2_ >= 12)
{
page_resultat.bulle_gagne.visible = true;
page_resultat.bulle_gagne.points.text = _loc2_;
jouer_son_victoire();
}
else if(_loc2_ >= 8)
{
page_resultat.bulle_gagne1.visible = true;
page_resultat.bulle_gagne1.points.text = _loc2_;
jouer_son_defaite();
}
else
{
page_resultat.bulle_perdu.visible = true;
page_resultat.bulle_perdu.points.text = _loc2_;
if(_loc2_ >= 2)
{
page_resultat.bulle_perdu.textePoints.text = "points.";
}
else
{
page_resultat.bulle_perdu.textePoints.text = "point.";
}
jouer_son_defaite();
}
if(fin != null)
{
fin(_loc2_);
}
}
}
}
}